let myMap = new Map<string, string | number>([
    [ 'cname', '张三' ],
    [ 'age', 18 ],
    [ 'sex', '男' ]
]);
console.log(myMap);// Map(3) {'cname' => '张三', 'age' => 18, 'sex' => '男'}

// 向 Map 中添加或更新键值对。
myMap.set('address', '北京');
console.log(myMap);// Map(4) {'cname' => '张三', 'age' => 18, 'sex' => '男', 'address' => '北京'}

// 从 Map 中获取某个键对应的值。
console.log(myMap.get('cname'));// 张三

// 判断 Map 中是否存在某个键。
console.log(myMap.has('cname'));// true

// 删除 Map 中的某个键值对。
myMap.delete('age');
console.log(myMap);// Map(3) {'cname' => '张三', 'sex' => '男', 'address' => '北京'}

// 清空 Map 中的所有键值对。
// myMap.clear();
// console.log(myMap);// Map(0) {}

// 将 Map 转换为数组。
let arrArray = Array.from(myMap)
console.log(arrArray);

// 获取 Map 的长度。
console.log(myMap.size);// 3

// 遍历 Map 的每个键。
for( let key of myMap.keys() ) {
    console.log(key);
}

// 遍历 Map 的每个值。
for( let value of myMap.values() ) {
    console.log(value);
}

// 遍历 Map 的每个键值对。
for( let [ key, value ] of myMap ) {
    console.log(key, value);
}

// 遍历 Map 的每个键值对。
myMap.forEach((value, key) => {
    console.log(key, value);
});